﻿using System;
using SharpSqlAnalyzer.nodes;
using SharpSqlAnalyzer.nodes.hive;

namespace SharpSqlAnalyzer.stmt.hive
{
	// Token: 0x020001C8 RID: 456
	public class THiveShow : TCustomSqlStatement
	{
		// Token: 0x170002D1 RID: 721
		// (get) Token: 0x06000F36 RID: 3894 RVA: 0x0030B46F File Offset: 0x0030966F
		// (set) Token: 0x06000F37 RID: 3895 RVA: 0x0030B477 File Offset: 0x00309677
		public virtual TObjectName DbName
		{
			get
			{
				return this.dbName;
			}
			set
			{
				this.dbName = value;
			}
		}

		// Token: 0x170002D2 RID: 722
		// (get) Token: 0x06000F38 RID: 3896 RVA: 0x0030B480 File Offset: 0x00309680
		// (set) Token: 0x06000F39 RID: 3897 RVA: 0x0030B488 File Offset: 0x00309688
		public virtual TObjectName FunctionName
		{
			get
			{
				return this.functionName;
			}
			set
			{
				this.functionName = value;
			}
		}

		// Token: 0x170002D3 RID: 723
		// (get) Token: 0x06000F3A RID: 3898 RVA: 0x0030B491 File Offset: 0x00309691
		// (set) Token: 0x06000F3B RID: 3899 RVA: 0x0030B499 File Offset: 0x00309699
		public virtual bool Extended
		{
			get
			{
				return this.isExtended;
			}
			set
			{
				this.isExtended = value;
			}
		}

		// Token: 0x170002D4 RID: 724
		// (get) Token: 0x06000F3C RID: 3900 RVA: 0x0030B4A2 File Offset: 0x003096A2
		// (set) Token: 0x06000F3D RID: 3901 RVA: 0x0030B4AA File Offset: 0x003096AA
		public virtual TPartitionExtensionClause PartitionSpec
		{
			get
			{
				return this.partitionSpec;
			}
			set
			{
				this.partitionSpec = value;
			}
		}

		// Token: 0x170002D5 RID: 725
		// (get) Token: 0x06000F3E RID: 3902 RVA: 0x0030B4B3 File Offset: 0x003096B3
		// (set) Token: 0x06000F3F RID: 3903 RVA: 0x0030B4BB File Offset: 0x003096BB
		public virtual TObjectName PropertyName
		{
			get
			{
				return this.propertyName;
			}
			set
			{
				this.propertyName = value;
			}
		}

		// Token: 0x170002D6 RID: 726
		// (get) Token: 0x06000F40 RID: 3904 RVA: 0x0030B4C4 File Offset: 0x003096C4
		// (set) Token: 0x06000F41 RID: 3905 RVA: 0x0030B4CC File Offset: 0x003096CC
		public virtual TObjectName ShowIdentifier
		{
			get
			{
				return this.showIdentifier;
			}
			set
			{
				this.showIdentifier = value;
			}
		}

		// Token: 0x170002D7 RID: 727
		// (get) Token: 0x06000F42 RID: 3906 RVA: 0x0030B4D5 File Offset: 0x003096D5
		// (set) Token: 0x06000F43 RID: 3907 RVA: 0x0030B4DD File Offset: 0x003096DD
		public virtual EHiveDescOption ShowOptions
		{
			get
			{
				return this.showOptions;
			}
			set
			{
				this.showOptions = value;
			}
		}

		// Token: 0x170002D8 RID: 728
		// (get) Token: 0x06000F44 RID: 3908 RVA: 0x0030B4E6 File Offset: 0x003096E6
		// (set) Token: 0x06000F45 RID: 3909 RVA: 0x0030B4EE File Offset: 0x003096EE
		public virtual EHiveShowType ShowType
		{
			get
			{
				return this.showType;
			}
			set
			{
				this.showType = value;
			}
		}

		// Token: 0x170002D9 RID: 729
		// (get) Token: 0x06000F46 RID: 3910 RVA: 0x0030B4F7 File Offset: 0x003096F7
		// (set) Token: 0x06000F47 RID: 3911 RVA: 0x0030B4FF File Offset: 0x003096FF
		public virtual TObjectName TableName
		{
			get
			{
				return this.tableName;
			}
			set
			{
				this.tableName = value;
			}
		}

		// Token: 0x170002DA RID: 730
		// (get) Token: 0x06000F48 RID: 3912 RVA: 0x0030B508 File Offset: 0x00309708
		// (set) Token: 0x06000F49 RID: 3913 RVA: 0x0030B510 File Offset: 0x00309710
		public virtual THiveDescTablePartition TablePartition
		{
			get
			{
				return this.tablePartition;
			}
			set
			{
				this.tablePartition = value;
			}
		}

		// Token: 0x06000F4A RID: 3914 RVA: 0x0030B519 File Offset: 0x00309719
		public THiveShow(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.ssthiveShow;
		}

		// Token: 0x06000F4B RID: 3915 RVA: 0x0030B530 File Offset: 0x00309730
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			if (this.rootNode == null)
			{
				return -1;
			}
			base.doParseStatement(psql);
			THiveShowSqlNode thiveShowSqlNode = (THiveShowSqlNode)this.rootNode;
			this.dbName = thiveShowSqlNode.DbName;
			this.partitionSpec = thiveShowSqlNode.PartitionSpec;
			this.isExtended = thiveShowSqlNode.Extended;
			this.showType = thiveShowSqlNode.ShowType;
			this.showOptions = thiveShowSqlNode.ShowOptions;
			this.tableName = thiveShowSqlNode.TableName;
			this.tablePartition = thiveShowSqlNode.TablePartition;
			this.showIdentifier = thiveShowSqlNode.ShowIdentifier;
			this.propertyName = thiveShowSqlNode.PropertyName;
			this.functionName = thiveShowSqlNode.FunctionName;
			return 0;
		}

		// Token: 0x06000F4C RID: 3916 RVA: 0x0030B5D4 File Offset: 0x003097D4
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06000F4D RID: 3917 RVA: 0x0030B5E4 File Offset: 0x003097E4
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x04001363 RID: 4963
		private EHiveShowType showType;

		// Token: 0x04001364 RID: 4964
		private TObjectName showIdentifier;

		// Token: 0x04001365 RID: 4965
		private TObjectName dbName;

		// Token: 0x04001366 RID: 4966
		private TObjectName tableName;

		// Token: 0x04001367 RID: 4967
		private TObjectName functionName;

		// Token: 0x04001368 RID: 4968
		private TPartitionExtensionClause partitionSpec;

		// Token: 0x04001369 RID: 4969
		private TObjectName propertyName;

		// Token: 0x0400136A RID: 4970
		private bool isExtended;

		// Token: 0x0400136B RID: 4971
		private THiveDescTablePartition tablePartition;

		// Token: 0x0400136C RID: 4972
		private EHiveDescOption showOptions;
	}
}
